//package cn.lili.modules.kit.params;
//
//import cn.lili.common.enums.ResultCode;
//import cn.lili.common.exception.ServiceException;
//import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
//import cn.lili.modules.payment.entity.dos.Recharge;
//import cn.lili.modules.payment.entity.dto.CashierParam;
//import cn.lili.modules.payment.entity.dto.PayParam;
//import cn.lili.modules.payment.entity.enums.CashierEnum;
//import cn.lili.modules.system.client.SettingClient;
//import cn.lili.modules.wallet.service.RechargeService;
//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Component;
//
///**
// * 充值信息获取
// *
// * @author Chopper
// * @since 2021-01-25 20:00
// */
//@Slf4j
//@Component
//@RequiredArgsConstructor
//public class RechargeCashier implements CashierExecute {
//    /**
//     * 余额
//     */
//    private final RechargeService rechargeService;
//
//    @Override
//    public CashierEnum cashierEnum() {
//        return CashierEnum.RECHARGE;
//    }
//
//    @Override
//    public void paymentSuccess(PaymentSuccessParams paymentSuccessParams) {
//        PayParam payParam = paymentSuccessParams.getPayParam();
//        if (payParam.getOrderType().equals(CashierEnum.RECHARGE.name())) {
//            rechargeService.paySuccess(
//                    payParam.getSn(),
//                    paymentSuccessParams.getReceivableNo(),
//                    paymentSuccessParams.getPaymentMethod());
//            log.info("会员充值-订单号{},第三方流水：{}", payParam.getSn(), paymentSuccessParams.getReceivableNo());
//        }
//    }
//
//    /**
//     * 获取支付参数
//     *
//     * @param payParam 收银台支付参数
//     * @return 收银台所需支付参数
//     */
//    public CashierParam getPaymentParams(PayParam payParam) {
////        if (payParam.getOrderType().equals(CashierEnum.RECHARGE.name())) {
////            // 准备返回的数据
////            CashierParam cashierParam = new CashierParam();
////            // 订单信息获取
////            Recharge recharge = rechargeService.getRecharge(payParam.getSn());
////
////            // 如果订单已支付，则不能发器支付
////            if (recharge.getPayStatus().equals(PayStatusEnum.PAID.name())) {
////                throw new ServiceException(ResultCode.PAY_DOUBLE_ERROR);
////            }
////
////            cashierParam.setPrice(recharge.getRechargeMoney());
////
////            try {
////                BaseSetting baseSetting =
////                        JSONUtil.toBean(
////                                settingClient.get(SettingEnum.BASE_SETTING.name()).getSettingValue(),
////                                BaseSetting.class);
////                cashierParam.setTitle(baseSetting.getSiteName());
////            } catch (Exception e) {
////                cashierParam.setTitle("多用户商城，在线充值");
////            }
////            cashierParam.setDetail("余额充值");
////            cashierParam.setCreateTime(recharge.getCreateTime());
////            return cashierParam;
////        }
//
//        return null;
//    }
//
//    /**
//     * 获取支付参数
//     *
//     * @param payParam 收银台支付参数
//     * @return 收银台所需支付参数
//     */
//    public Boolean paymentResult(PayParam payParam) {
//        Recharge recharge = rechargeService.getRecharge(payParam.getSn());
//        if (recharge != null) {
//            return recharge.getPayStatus().equals(PayStatusEnum.PAID.name());
//        } else {
//            throw new ServiceException(ResultCode.PAY_NOT_EXIST_ORDER);
//        }
//    }
//}
